package net.mysoft.budgetsoft.system.domain.comparator;

import java.util.Comparator;

import net.mysoft.budgetsoft.system.pagemodel.FlowTaskNode;

public class XiangMuCLComparator implements Comparator<FlowTaskNode> {

	@Override
	public int compare(FlowTaskNode o1, FlowTaskNode o2) {
		long sort = 0;
		long o1EndTime = 0;
		long o2EndTime = 0;
		if(o1.getFtn_Status()-o2.getFtn_Status()>0){
			return -1;
		}else if(o1.getFtn_Status()-o2.getFtn_Status()<0){
			return 1;
		}else{
			if(o1.getFtn_HandleEndTime()!=null){
				o1EndTime=o1.getFtn_HandleEndTime().getTime();
			}
			if(o2.getFtn_HandleEndTime()!=null){
				o2EndTime=o2.getFtn_HandleEndTime().getTime();
			}
			sort = o1EndTime-o2EndTime;
			if(sort>0){
				return 1;
			}else if(sort<0){
				return -1;
			}else{
				sort = o1.getFlo_ID().compareTo(o2.getFlo_ID());
				if(sort>0){
					return 1;
				}else if(sort<0){
					return -1;
				}else{
					sort = o1.getFtn_Index().compareTo(o2.getFtn_Index());
					if(sort>0){
						return 1;
					}else if(sort<0){
						return -1;
					}
				}
			}
		}
		return 0;
	}
}
